#ifndef CANDIDATEEXTRACTOR_H
#define CANDIDATEEXTRACTOR_H
#include <vector>
#include <list>
#include "../include/objectPoint.h"
#include "../include/LSfeatureObject.h"

#include "iostream"

using namespace std;

class Candidate
{
public:
    Candidate();

    LSfeatureObject object1_;
    LSfeatureObject object2_;
    float dist_sep;

    Candidate(LSfeatureObject obj1,LSfeatureObject obj2,float dist)
        :object1_(obj1)
        ,object2_(obj2)
        ,dist_sep(dist)
    {};
};

class CandidateExtractor
{
public:
    CandidateExtractor();
    void setObjects(vector<LSfeatureObject> objts);
    void doExtractor(double minDist);
    vector <Candidate*> doCouple();
private:
    vector<LSfeatureObject> objects;
};

#endif // CANDIDATEEXTRACTOR_H

